import Mock from 'mockjs'
import qs from 'qs'

// 配置拦截 ajax 请求时的行为,mock的配置
Mock.setup({
    // 随机延时500-1000毫秒
    // 表示 500-1000 毫秒之间 后才会返回响应内容
    timeout: '500-1000'
})

// 拦截请求，
// 第一个参数：url，使用正则去匹配
// 第二个参数：请求方式
// 第三个参数： 生成数据的函数
// 拦截到匹配 rurl 和 rtype 的 Ajax 请求时，函数 function(options) 将被执行，并把执行结果作为响应数据返回
Mock.mock(/\/my\/test/, 'get', () => {
    return { msg: '请求测试接口成功', result: [] }
})

// 模拟 我的收藏
Mock.mock(/\/member\/collect/, 'get', config => {
    const queryString = config.url.split('?')[1]
    // 将参数转为对象
    const queryObject = qs.parse(queryString)
    
    const items = []
    for (let i = 0; i < queryObject.pageSize; i++) {
        items.push(Mock.mock({
            // 生成随机数据
            id: '@id',
            // Mock.mock('@ctitle(5)') "整如快红话"
            name: '@ctitle(10,20)',
            desc: '@ctitle(4,10)',
            price: '@float(100,200,2,2)',
            // http://zhoushugang.gitee.io/erabbit-client-pc-static/uploads/clothes_goods_7.jpg
            picture: `http://zhoushugang.gitee.io/erabbit-client-pc-static/uploads/clothes_goods_${Mock.mock('@integer(1,8)')}.jpg`
        }))
    }
    return {
        msg: '获取收藏商品成功',
        result: {
            counts: 35,
            pageSize: queryObject.pageSize,
            page: queryObject.page,
            items
        }
    }
})